/* Copyright (c) 2013, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

/*
 * As a general rule, only version-specific property overrides should be placed
 * inside this file. However, device definitions should be placed inside the
 * msm8974.dtsi file.
 */

/include/ "msm8974.dtsi"

/include/ "msm-pm8x41-rpm-regulator.dtsi"
/include/ "msm-pm8841.dtsi"
&spmi_bus {
	pm8941_lsid0: qcom,pm8941@0 {
		reg = <0x0>;
	};
	pm8941_lsid1: qcom,pm8941@1 {
		reg = <0x1>;
	};
};
/include/ "msm-pm8941.dtsi"
/include/ "msm8974-regulator.dtsi"
/include/ "msm8974-clock.dtsi"

/include/ "msm8974-v1-iommu.dtsi"
/include/ "msm8974-v1-iommu-domains.dtsi"
/include/ "msm8974-v1-pm.dtsi"

&soc {
	android_usb@fc42b0c8 {
		compatible = "qcom,android-usb";
		reg = <0xfc42b0c8 0xc8>;
		qcom,android-usb-swfi-latency = <1>;
		qcom,android-usb-uicc-nluns = /bits/ 8 <1>;
	};

	qcom,msm-imem@fc42b000 {
		compatible = "qcom,msm-imem";
		reg = <0xfc42b000 0x1000>; /* Address and size of IMEM */
	};
};

&tsens {
	qcom,calibration-less-mode;
};

/* I2C clock frequency overrides */
&i2c_0 {
	qcom,i2c-src-freq = <19200000>;
};

&i2c_2 {
	qcom,i2c-src-freq = <19200000>;
};

/* CoreSight */
&tmc_etr {
	qcom,reset-flush-race;
	qcom,byte-cntr-absent;
};

&stm {
	qcom,write-64bit;
};

&mdss_mdp {
	qcom,mdss-pingpong-off = <0x00021B00 0x00021C00 0x00021D00>;
};

&msm_vidc {
	qcom,vidc-cp-map = <0x1000000 0x3f000000>;
	qcom,vidc-ns-map = <0x40000000 0x40000000>;
	qcom,load-freq-tbl = <979200 410000000>,
		<783360 410000000>,
		<489600 266670000>,
		<244800 133330000>;
	qcom,reg-presets = <0x80004 0x1>,
		<0x80178 0x00001FFF>,
		<0x8017c 0x1FFF1FFF>,
		<0x800b0 0x10101001>,
		<0x800b4 0x10101010>,
		<0x800b8 0x10101010>,
		<0x800bc 0x00000010>,
		<0x800c0 0x1010100f>,
		<0x800c4 0x10101010>,
		<0x800c8 0x10101010>,
		<0x800cc 0x00000010>,
		<0x800d0 0x00001010>,
		<0x800d4 0x00001010>,
		<0x800f0 0x00000030>,
		<0x800d8 0x00000707>,
		<0x800dc 0x00000707>,
		<0x80124 0x00000001>,
		<0xE0020 0x5555556>,
		<0xE0024 0x0>;
	qcom,bus-ports = <1>;
	qcom,enc-ocmem-ab-ib = <0 0>,
		<138200 1222000>,
		<414700 1222000>,
		<940000 2444000>,
		<1880000 2444000>,
		<3008000 3910400>,
		<3760000 4888000>;
	qcom,dec-ocmem-ab-ib = <0 0>,
		<176900 1556640>,
		<456200 1556640>,
		<864800 1556640>,
		<1729600 3113280>,
		<2767360 4981248>,
		<3459200 6226560>;
	qcom,enc-ddr-ab-ib = <0 0>,
		<60000 664950>,
		<181000 664950>,
		<403000 664950>,
		<806000 1329900>,
		<1289600 2127840>,
		<161200 6400000>;
	qcom,dec-ddr-ab-ib = <0 0>,
		<110000 909000>,
		<268000 909000>,
		<505000 909000>,
		<1010000 1818000>,
		<1616000 2908800>,
		<2020000 6400000>;
	qcom,iommu-groups = <&venus_domain_ns &venus_domain_cp>;
	qcom,iommu-group-buffer-types = <0xfff 0x1ff>;
	qcom,buffer-type-tz-usage-table = <0x1 0x1>,
					<0x7fe 0x2>;
};

&sfpb_spinlock {
	status = "disable";
};

&ldrex_spinlock {
	status = "ok";
};

&usb_otg {
	qcom,hsusb-otg-pnoc-errata-fix;
};

&usb3 {
	qcom,usbin-vadc = <&pm8941_vadc>;
};

&gdsc_venus {
	qcom,skip-logic-collapse;
	qcom,retain-periph;
	qcom,retain-mem;
};

&gdsc_mdss {
	qcom,skip-logic-collapse;
	qcom,retain-periph;
	qcom,retain-mem;
};

&gdsc_oxili_gx {
	qcom,retain-mem;
	qcom,retain-periph;
};

&krait_regulator_pmic {
	status = "ok";

	qcom,ctl@2000 {
		status = "ok";
	};

	qcom,ps@2100 {
		status = "ok";
	};

	qcom,freq@2200 {
		status = "ok";
	};
};
